.Dd November 2, 2014
.Dt SNDFILE-CONVERT 1
.Os
.Sh NAME
.Nm sndfile-convert
.Nd convert sound files from one format to another
.Sh SYNOPSIS
.Nm sndfile-convert
.Op Fl override-sample-rate Ns = Ns Ar rate
.Op Fl endian Ns = Ns Cm little | big | cpu
.Op Fl normalize
.Op Ar encoding
.Ar input
.Ar output
.Sh DESCRIPTION
.Nm
converts sound files from one audio format to another.
The output file is overwritten it it already exists.
.Ss Formats
The format of the output file is determined by the filename extension.
The following file formats are currently recognized:
.Pp
.Bl -tag -compact -width ircam
.It wav
WAV (Microsoft)
.It aif
AIFF (Apple/SGI)
.It au
AU (Sun/NeXT)
.It snd
AU (Sun/NeXT)
.It raw
RAW (header-less)
.It gsm
RAW (header-less)
.It vox
RAW (header-less)
.It paf
PAF (Ensoniq PARIS, big-endian)
.It fap
PAF (Ensoniq PARIS, little-endian)
.It svx
IFF (Amiga IFF/SVX8/SV16)
.It nist
SPHERE (NIST SPeech HEader Resources)
.It sph
SPHERE (NIST SPeech HEader Resources)
.It voc
VOC (Creative Labs)
.It ircam
SF (Berkeley/IRCAM/CARL)
.It sf
SF (Berkeley/IRCAM/CARL)
.It w64
W64 (SoundFoundry WAVE 64)
.It mat
MAT4 (GNU Octave 2.0 / Matlab 4.2)
.It mat4
MAT4 (GNU Octave 2.0 / Matlab 4.2)
.It mat5
MAT5 (GNU Octave 2.1 / Matlab 5.0)
.It pvf
PVF (Portable Voice Format)
.It xi
XI (FastTracker 2)
.It htk
HTK (HMM Tool Kit)
.It sds
SDS (Midi Sample Dump Standard)
.It avr
AVR (Audio Visual Research)
.It wavex
WAVEX (MS WAVE with WAVEFORMATEX)
.It sd2
SD2 (Sound Designer II)
.It flac
FLAC (FLAC Lossless Audio Codec)
.It caf
CAF (Apple Core Audio File)
.It wve
WVE (Psion Series 3)
.It prc
WVE (Psion Series 3)
.It ogg
OGG (OGG Container format)
.It oga
OGG (OGG Container format)
.It mpc
MPC (Akai MPC 2k)
.It rf64
RF64 (RIFF 64)
.El
.Ss Options
The following options are recoginzed:
.Pp
.Bl -tag -compact -width "override-sample-rate=XXXXX"
.It Fl override-sample-rate Ns = Ns Ar rate
Make the input use sample rate of
.Ar rate
Hz.
.It Fl endian Ns = Ns Cm little
Make the output file use little endian data.
.It Fl endian Ns = Ns Cm big
Make the output file use big endian data.
.It Fl endian Ns = Ns Cm cpu
Make the output file use CPU endianness.
.It Fl normalize
Normalize the audio data in the output file.
.El
.Ss Encodings
The optional
.Ar encoding
parameter allows setting of the data encoding for the output file.
The following encodings are currently supported:
.Pp
.Bl -tag -compact -width ima-adpcmXX
.It Fl pcms8
signed 8 bit pcm
.It Fl pcmu8
unsigned 8 bit pcm
.It Fl pcm16
16 bit pcm
.It Fl pcm24
24 bit pcm
.It Fl pcm32
32 bit pcm
.It Fl float32
32 bit floating point
.It Fl ulaw
ULAW
.It Fl alaw
ALAW
.It Fl ima-adpcm
IMA ADPCM (WAV only)
.It Fl ms-adpcm
MS ADPCM (WAV only)
.It Fl gsm610
GSM6.10 (WAV only)
.It Fl dwvw12
12 bit DWVW (AIFF only)
.It Fl dwvw16
16 bit DWVW (AIFF only)
.It Fl dwvw24
24 bit DWVW (AIFF only)
.It Fl vorbis
Vorbis (OGG only)
.El
.Pp
If no encoding is specified for the output file,
.Nm
will try to use the encoding of the input file.
This will not always work as most container formats
(e.g. WAV, AIFF etc) only support a small subset of encodings
(e.g. 16 bit PCM, a-law, Vorbis etc).
.Sh EXIT STATUS
.Ex -std
.Sh SEE ALSO
.Lk http://libsndfile.github.io/libsndfile/
.Sh AUTHORS
.An Erik de Castro Lopo Aq Mt erikd@mega-nerd.com .
